package 转换流;

import java.io.*;

public class InputStreamReaderDemo {
    public static void main(String[] args) {
        try (// 1. 创建一个字节流 FileInputStream
             FileInputStream fis = new FileInputStream("text.txt");
             // 2. 创建一个转换流 InputStreamReader，并指定编码为 GBK
             InputStreamReader isr = new InputStreamReader(fis, "GBK");
             // 3. 为了高效，通常用 BufferedReader 包裹 InputStreamReader
             BufferedReader br = new BufferedReader(isr)) {

            String line;
            // 此时读取到的字符已经是正确解码后的文本，不会乱码
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}